package com.itheima.config;

import com.alibaba.druid.pool.DruidDataSource;
import com.itheima.dao.BookDao;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;

import javax.sql.DataSource;

/**
 * @author Xiao
 * @date 2021/9/12
 */
/**使用第三方独立的配置类*/
public class JdbcConfig {
    //定义一个方法获得要管理的对象
    //简单类型：@Value
    @Value("${jdbc.driver}")
    private String className;
    @Value("${jdbc.url}")
    private String url;
    @Value("${jdbc.username}")
    private String username;
    @Value("${jdbc.password}")
    private String password;
    //引用类型：自动注入
    // 需要在Spring核心配置类中扫描引用对象所在的包，并且该类有@Component或衍生注解
    @Bean("dataSource")   //表示当前方法返回一个bean对象
    public DataSource dataSource(BookDao bookDao){
        System.out.println(bookDao);
        DruidDataSource ds = new DruidDataSource();
        ds.setDriverClassName(className);
        ds.setUrl(url);
        ds.setUsername(username);
        ds.setPassword(password);
        return ds;
    }
    /*public DataSource dataSource(){
        DruidDataSource ds = new DruidDataSource();
        ds.setDriverClassName("com.mysql.jdbc.Driver");
        ds.setUrl("jdbc:mysql://localhost:3306/db10");
        ds.setUsername("root");
        ds.setPassword("1234");
        return ds;
    }*/
}
